﻿using System;
using System.Collections.Generic;
using System.Web;

namespace WeMakeSP.WebComponents.RSSAdvancedReaderWebPart
{
    /// <summary>
    /// Represents the RSS advanced reader feed.
    /// </summary>
    public class RSSAdvancedReaderFeed
    {
        #region Constructor

        /// <summary>
        /// Initializes a new instance of the <see cref="RSSAdvancedReaderFeed"/> class.
        /// </summary>
        public RSSAdvancedReaderFeed()
        {
            this.HaveImage = false;
            this.Image =
                new RSSAdvancedReaderImage();
            this.Items =
                new RSSAdvancedReaderFeedItemCollection();
        }

        #endregion

        #region Public Properties

        /// <summary>
        /// Gets or sets a value indicating whether [have image].
        /// </summary>
        /// <value><c>True</c> if [have image]; otherwise, <c>false</c>.</value>
        public bool HaveImage
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the image.
        /// </summary>
        /// <value>The image.</value>
        public RSSAdvancedReaderImage Image
        {
            get;
            set;
        }

        /// <summary>
        /// Gets the item count.
        /// </summary>
        /// <value>The item count.</value>
        public int ItemCount 
        {
            get
            {
                return this.Items.Count;
            }
        }

        /// <summary>
        /// Gets or sets the items.
        /// </summary>
        /// <value>The items.</value>
        public RSSAdvancedReaderFeedItemCollection Items
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the last update.
        /// </summary>
        /// <value>The last update.</value>
        public DateTime LastUpdate
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the link.
        /// </summary>
        /// <value>The feed link.</value>
        public string Link
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets a value indicating whether [show image].
        /// </summary>
        /// <value><c>True</c> if [show image]; otherwise, <c>false</c>.</value>
        public bool ShowImage
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets a value indicating whether [show more items].
        /// </summary>
        /// <value><c>True</c> if [show more items]; otherwise, <c>false</c>.</value>
        public bool ShowMoreItems
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the status.
        /// </summary>
        /// <value>The status.</value>
        public RSSAdvancedReaderFeedStatus Status
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the title.
        /// </summary>
        /// <value>The title.</value>
        public string Title
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the total items.
        /// </summary>
        /// <value>The total items.</value>
        public int TotalItems
        {
            get;
            set;
        }

        #endregion
    }
}
